Businesses communicate with customers, employees, partners and others through various routine and ad hoc document based communications. A non-exhaustive list of examples of such communications includes monthly statements, bills, and invoices; semi-annual or annual documents such as policies or shareholder reports; and, business activity related communications such as letters, contracts, and proposals.
These document based communications typically require personalization through the inclusion of data, in varying forms, from or about the communication recipient. The inclusion of customer or user specific data, such as customer billing data, credit card transactions, or bank credits/debits, requires the communications to be dynamic in their layout to accommodate substantial variability. For example, one customer recipient may have a dozen credit card transactions whereas another may have hundreds. Even more, such data may need to be in tabular, graphical and/or chart formats for improved readability. In final form, each recipient's communication is personalized because the user specific data associated with their respective accounts, transactions, policies or the like are unique to them.
Other business activity related communications may require business users to edit partially composed communications in order to finalize them for recipient consumption. A system generated communication for an insurance claim status, for instance, may require an in-house claims representative to select or update certain user specific information based on input from an insurance agent or a police report. In some instances, business rules may dictate that only certain portions, sections, or text in a communication can be changed based on the editor's role in or relationship with the organization. Regardless of the type of data found in such communications, variable substitution in business communications is commonly required.
Such communications are presently created with desktop word processing software or software solutions known as variable data publishing or VDP. Regardless of the method used, each of the current approaches requires software installation on a creator's personal computer or on a central server that provides a virtualized emulation of such a local installation. The publishing software is required to design the layout or format of the communication inclusive of what information to display, data formats, text, images, charts, etc. Additionally, as different printer manufacturers and communication display software programs or applications each have their own proprietary format the publishing software must also describe the print or electronic output language of the communication.
As the publishing software is enhanced with new functionality it must be tested and subsequently redistributed to users. In a business environment, an information technology (IT) group typically manages software updates for company users. Or, as with non-employees and consumers, users are required to download and install new software versions when made available. The inherent issues with this approach include a high cost of communicating and scheduling changes, making the updates, troubleshooting individual technical issues due to unique configurations, and lost productivity of business users and consumers as they deal with the disruptions and costs associated with the software update process.
Despite the predominance of distributed, desktop software, business user's and application developer's preferences are moving toward using browser-based solutions to perform their job functions. In addition to eliminating the need for local software installation, browser-based solutions enable users to work from any location from a variety of devices. Corporate information technology departments prefer browser-based software as well due to the inherent costs associated with maintaining user desktop computers and required software.
In addition to browser-based solutions, business employees and customers alike are increasingly adopting and using their mobile devices, such as smartphones and tablets, to engage with each other and businesses. Therefore, businesses are beginning to create custom applications to interact with their employees and customers in this manner.
Current approaches to develop communications destined for smartphones and tablets bring an additional set of disadvantages. Because there is no single standard with respect to form factor such as screen size, operating system, web browser capabilities, or programming language support, companies are required to either develop their mobile applications and websites with consideration for each device nuance (and test and maintain those systems) or select a subset of devices to support. Developing programs for each device type is high cost in both initial development and ongoing maintenance. The subset approach risks customer dissatisfaction in the event a given customer's preferred device is not supported.
Despite these disadvantages, there are now applications that support limited browser-based creating and editing of communications. These solutions rely on hypertext markup language, or HTML, controls and other third party rendering controls that each has certain shortcomings. For example, the resultant communication layout as viewed by a user in the browser session is unlikely to match the final printed or displayed communication. This undesired result is due to limitations in rendering in browser controls that do not provide for strict fidelity between the browser and the printer or display software. The browser rendering mechanism, such as an HTML control, does not automatically take output device characteristics into consideration when displaying information. Even more, the rendering mechanisms do not enable user control of embedded images or other content with pixel level placement. The rendering mechanisms also do not provide for the explicit layout of content, such as text wrapping, flow of content on single pages or flow across multiple pages.
Accordingly, a method of creating a communication including user specific content editable in a browser by a user that is independent of the user's platform or operating system is needed. Preferably, the method would provide for the design, presentment and interactive editing of communications in a browser environment without desktop software, plug-ins or virtualized environment. All of these features are provided by the following invention.